package com.kaltura.playersdk.drm; import android.content.Context; import android.content.SharedPreferences; import android.util.Base64; import java.io.FileNotFoundException; /** * Created by noamt on 04/05/2016. */ class OfflineKeySetStorage { private static final String SHARED_PREFS_NAME = "OfflineDrmStore"; private final SharedPreferences mSettings; OfflineKeySetStorage(Context context) { mSettings = context.getSharedPreferences(SHARED_PREFS_NAME, 0); } public void storeKeySetId(byte[] initData, byte[] keySetId) { String encodedInitData = Base64.encodeToString(initData, Base64.NO_WRAP); String encodedKeySetId = Base64.encodeToString(keySetId, Base64.NO_WRAP); mSettings.edit() .putString(encodedInitData, encodedKeySetId) .apply(); } public byte[] loadKeySetId(byte[] initData) throws FileNotFoundException { String encodedInitData = Base64.encodeToString(initData, Base64.NO_WRAP); String encodedKeySetId = mSettings.getString(encodedInitData, null); if (encodedKeySetId == null) { throw new FileNotFoundException("Can't load keySetId"); } return Base64.decode(encodedKeySetId, 0); } public void removeKeySetId(byte[] initData) { String encodedInitData = Base64.encodeToString(initData, Base64.NO_WRAP); mSettings.edit() .remove(encodedInitData) .apply(); } }